TestNG টেস্ট ম্যানেজমেন্ট সহজ করতে টেস্ট সুইট (Test Suite), টেস্ট গ্রুপ (Test Group), এবং টেস্ট মেথড (Test Method) কনফিগার করার ক্ষমতা সরবরাহ করে। এই ফিচারগুলো জটিল টেস্ট কেস পরিচালনা এবং টেস্ট রানের কার্যকারিতা বাড়াতে সহায়তা করে।
টেস্ট সুইট (Test Suite)
টেস্ট সুইট হল একাধিক টেস্টের সমন্বয় যা testng.xml ফাইল ব্যবহার করে পরিচালনা করা হয়। টেস্ট সুইটের মাধ্যমে টেস্ট মেথড, ক্লাস, এবং গ্রুপের কার্যক্রম নিয়ন্ত্রণ করা যায়।
টেস্ট সুইট উদাহরণ
<suite name="MyTestSuite">
<test name="Test1">
<classes>
<class name="com.example.TestClass1" />
<class name="com.example.TestClass2" />
</classes>
</test>
</suite>
উপরের কোডে, Test1 নামে একটি টেস্টের মধ্যে দুটি ক্লাস অন্তর্ভুক্ত করা হয়েছে।
চালানোর ধাপ:
testng.xmlফাইল তৈরি করুন।testng.xmlফাইল TestNG প্লাগিন বা কমান্ড লাইন দিয়ে চালান।
টেস্ট গ্রুপ (Test Group)
TestNG গ্রুপিং ফিচারের মাধ্যমে নির্দিষ্ট টেস্টগুলোর একটি দল তৈরি করা যায়। এটি বিশেষভাবে কার্যকর যখন একটি প্রজেক্টে বিভিন্ন প্রকার টেস্ট (যেমন: ইউনিট টেস্ট, ফাংশনাল টেস্ট, ইন্টিগ্রেশন টেস্ট) চালাতে হয়।
গ্রুপ ডিফাইন করার উদাহরণ
import org.testng.annotations.Test;
public class TestGroupExample {
@Test(groups = {"smoke"})
public void testMethod1() {
System.out.println("This is a smoke test.");
}
@Test(groups = {"regression"})
public void testMethod2() {
System.out.println("This is a regression test.");
}
@Test(groups = {"smoke", "regression"})
public void testMethod3() {
System.out.println("This is both a smoke and regression test.");
}
}
testng.xml-এ গ্রুপ চালানোর কনফিগারেশন
<suite name="MyTestSuite">
<test name="GroupedTests">
<groups>
<run>
<include name="smoke" />
</run>
</groups>
<classes>
<class name="com.example.TestGroupExample" />
</classes>
</test>
</suite>
এই কনফিগারেশনে কেবল smoke গ্রুপ চালানো হবে।
টেস্ট মেথড (Test Method)
TestNG টেস্ট মেথড কনফিগার করার জন্য বিভিন্ন অ্যানোটেশন সরবরাহ করে। এই অ্যানোটেশনগুলো টেস্টের আগে এবং পরে নির্দিষ্ট কাজ পরিচালনা করতে সহায়তা করে।
সাধারণ টেস্ট মেথড কনফিগারেশন
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
public class TestMethodExample {
@BeforeMethod
public void setup() {
System.out.println("Setup before each test method.");
}
@Test
public void testMethod() {
System.out.println("Executing the test method.");
}
@AfterMethod
public void teardown() {
System.out.println("Teardown after each test method.");
}
}
উপরের উদাহরণে:
@BeforeMethodটেস্ট মেথড চালানোর আগে কাজ করবে।@AfterMethodটেস্ট মেথড শেষ হওয়ার পরে কাজ করবে।
কনফিগারেশনের সুবিধা
- টেস্ট সুইট: একাধিক টেস্ট একত্রিত করে সমন্বিতভাবে চালানো যায়।
- টেস্ট গ্রুপ: নির্দিষ্ট ধরণের টেস্ট আলাদাভাবে পরিচালনা করা যায়।
- টেস্ট মেথড: টেস্টের পূর্বে ও পরে প্রয়োজনীয় কার্যক্রম স্বয়ংক্রিয়ভাবে চালানো যায়।
TestNG এর এই ফিচারগুলো টেস্টিং প্রসেসকে আরও সুসংগঠিত এবং কার্যকর করে তোলে।
Read more